#include<stdio.h>
// 求整数序列中出现次数最多的数
// #include<stdlib.h>
/*
int main()
{
    int n, *a = 0, *b;
    scanf("%d", &n);
    a = (int *)malloc(n * sizeof(int));
    b = (int *)malloc(n * sizeof(int));
    for (int i = 0; i < n; i++)
    {
        scanf("%d", &a[i]);
    }
    int cnt = 0;
    for (int j = 0; j < n; j++)
    {
        cnt = 0;
        for (int k = 0; k < n; k++)
        {
            if (a[k] == a[j])
            {
                cnt++;
            }
        }
        b[j] = cnt;
    }
    int max = b[0], ret = 0;
    for (int i = 0; i < n; i++)
    {
        if (b[i] > max)
        {
            max = b[i];
            ret = i;
        }
    }
    printf("%d %d", a[ret], b[ret]);

    free(a);
    free(b);
    return 0;
}
*/

// ÿ�δ�������x��λ��aʱ���Ͱ�aǰ��x���ִ���ͳ���ڶ�ά����ĵڶ��У�
// ���Ƚϵڶ���Ԫ�صĴ�С���õ�ֵb����������������Ĵ�����b+1
int main()
{
    int n, a[2][1000] = {{0}, {0}};
    scanf("%d", &n);
    int cnt = 0, ret = 0;
    for (int i = 0; i < n; i++)
    {
        scanf("%d", &a[0][i]);
        cnt = 0;
        for (int k = 0; k < i; k++)
        {
            if (a[0][i] == a[0][k])
            {
                cnt++;
            }
        }
        a[1][i] = cnt;
    }
    int max = a[1][0];
    for (int j = 0; j < n; j++)
    {
        if (a[1][j] > max)
        {
            max = a[1][j];
            ret = j;
        }
    }
    printf("%d %d", a[0][ret], ++max);

    return 0;
}